1. Field of the Invention
The present invention relates to a mobile communication system, and more particularly, to a method for managing a socket allocated to a call control processor in a mobile communication system.
2. Description of the Related Art
A socket is used for transmitting data using a specific protocol between a server and a client. The communication between processors via the socket is based on a client-server model. A client processor can communicate with the server processor through the socket connection. For this, the client processor generates an undesignated socket and requests a connection with a socket designated by the server. Therefore, if the connection is successfully completed, each file descriptor is supplied to the server and the client, and both file descriptors can be used for reading and writing.
A general server processor first initializes itself, and then waits for a service request from a client. At this time, a specific port number is allocated by the server for receiving a request from the client. This port is monitored by the server processor. When the client transmits data to an address and a port of the server, the server shifts out of the waiting status so as to execute the requested service. If the requested service is an interlink type service, a linkage is established and maintained until the linkage is expressly cut off. Since bi-directional transmission is supported through the socket communication, when one socket is opened, both data transmission and reception can be simultaneously executed via the socket.
The above-described socket can be implemented by a mobile communication system using a TCP/IP to periodically manage a status of each process.
FIG. 1 is a diagram of a related art mobile communication system that performs call control processing. Referring to FIG. 1, the mobile communication system includes a Base Station Manager (BSM) 130, a Radio Network Controller (RNC) 100, and a plurality of Base Stations (BSs) 120a˜120n. The BSM 130 is used to manage radio resources in the RNC 100. The RNC 100 receives information from the plurality of BSs 120a˜120n. The RNC 100 provides the received information to a higher layer to a core network (not illustrated), and transmits information received from the higher layer to the plurality of the BSs 120a˜120n. The plurality of the BSs 120a˜120n provide the information received from the RNC 100 to a user, and transmit information inputted from the user to the RNC 100. The information may include voice data, character data, control commands, and the like.
The RNC 100 preferably includes a Call Control Processor (CCP) 110, a Service Control Processor (SCP) 112, a Switch Module Processor (SMP) 114, and a Vocoder Multi-channel Processor (VMP) 116. The CCP 110 is a main processor that controls a call processing of the RNC. The SCP 112 is a processor for managing a signal point, and executes connection management relating to a Number 7 signaling network. Moreover, the SMP 114 is a processor to control selectors in a mobile communication system, and may perform a function of selecting information received from the plurality of the BSs 120a˜120n. The VMP 116 is a processor for controlling a vocoder, which performs a function of decoding encoded voice data into PCM data in a mobile communication system.
The CCP 110, which is connected through a Board Support Package (BSP) 121 as a main processor in the plurality of BSs 120a˜120n and the socket, periodically controls the status of the BSP 121. Moreover, the CCP 110 is connected to SCP 112, SMP 114, and VMP 116 in the inner part of the RNC 100, and can control the status of each of the processors 112, 114, 116.
As described above, the CCP 110 requires numerous socket resources because it is connected to each of the processors 112, 114, 116, 121 (hereinafter, the plurality of target processors) and the socket, and has to control a status of each of the plurality of target processors.
FIG. 2 is a flow chart illustrating a related art method for monitoring a status of each processor using the socket. Referring to FIG. 2, the CCP 110 allocates a socket to each of the plurality of target processors 112, 114, 116, and 121, so as to periodically control the status of each of the plurality of target processors (Step 201). At this time, each of the plurality of target processors, as well as the socket allocated to the CCP, allocates its own socket for communicating with the CCP 110.
When the socket is allocated to each of the target processors, the CCP 110 may periodically receive a status message from the plurality of target processors. The CCP 110 reports the received status information to the BSM 130. Furthermore, the CCP 110 transmits its own status to each of the plurality of target processors using a message (Step 211). In this case, the CCP 110 transmits the status message in a prescribed form when the plurality of the target processors request a status message via the socket.
Accordingly, each processor's status is periodically communicated between the CCP 110 and the plurality of target processors based on the connection through the socket.
When communicating through the socket, the communication is executed by an application layer via the transport layer, and not via a network layer. Further the communication is performed in accordance with an Internet Protocol (IP). The IP allows for transmission of data packets between other networks according to the IP address and thus provides path control. IP is typically used with a Transmission Control Protocol (TCP) or a User Datagram Protocol (UDP), which are protocols included in the transmission layer. Because the CCP 110 utilizes the TCP/IP, it is necessary to allocate socket resources to each of the plurality of the target processor.
The socket can be classified into either a stream socket that utilizes TCP or a datagram socket that utilizes the UDP, according to the transmission protocol it utilizes. The UDP's main function is to designate ports of a receiving body and a sending body by a UDP header. The port is a number for discriminating the receiving body and the sending body through a service or a higher protocol in the inner portion of a host that has an IP address. The TCP, on the other hand, provides the port designating function, and further includes a transmission controlling function for controlling a communication sequence, answering back, re-transmission, data stream, urgent data, congestion and the like.
Referring again to FIG. 2, when a status message is received from one of the plurality of target processors, the CCP 110, may generate a status change command based on the status messages. The CCP 110 then transmits the status change command to the corresponding processor (Step 221). The corresponding processor is then able to change its status according to the status change command.
The related art socket management has numerous problems. For example, as described above, the status of other processors between the CCP and the plurality of target processors can be monitored by periodically exchanging the status thereof. However, in the related mobile communication system using the IP, numerous socket resources are required because the CCP must allocate a socket to each of the plurality of target processors to be communicated with.
Moreover, in the related CCP, if a socket is allocated to a processor that is not mounted or is not properly functioning, a socket is allocated to a target processor which should not be allocated. Accordingly, socket resources are wasted. Specifically, although the disconnected target processor is not monitored when disconnected communication occurs in the related CCP, the socket resource is not withdrawn.
Moreover, the status messages are continuously and repeatedly transmitted to the plurality of the target processors in the related art CCP, causing the loads in the CCP to be increased.
Additionally, when a socket is allocated to a processor which does not need to be communicated with or is continuously allocated for the transmission of a status message because the CCP fails to withdraw the allocated socket resources, call control processing may not be properly executed if the socket resource is not corrected or withdrawn.
The above references are incorporated by reference herein where appropriate for appropriate teachings of additional or alternative details, features and/or technical background.